module.exports = {
  plugins: [
    // 自定义插件：根据平台转换px单位
    (root) => {
      // 遍历所有样式节点
      root.walkDecls((decl) => {
        // 排除大写PX
        if (decl.value.includes('px') && !decl.value.includes('PX')) {
          // 微信小程序：px 转 rpx
          if (process.env.VUE_APP_PLATFORM === 'mp-weixin') {
            decl.value = decl.value.replace(/(\d+)px/g, (match, size) => {
              // 转换公式：rpx值 = px值 * 2
              return `${size * 2}rpx`;
            });
          }
          // H5：px 转 rem
          else if (process.env.VUE_APP_PLATFORM === 'h5') {
            // 转换公式：rem值 = px值 / 37.5
            decl.value = decl.value.replace(/(\d+)px/g, (match, p1) => {
              const remValue = p1 / 37.5;
              // 保留4位小数
              return `${remValue.toFixed(2)}rem`;
            });
          }
        }
      });
    }
  ]
};